using System;
using System.Collections.Generic;
using Comdiv.Extensions;
using Comdiv.Model;
using Comdiv.Model.Interfaces;
using Comdiv.Logging;
using Comdiv.Application;
using Comdiv.Persistence;
using Comdiv.Inversion;
using Comdiv.Security.Acl;
using Comdiv.Conversations;
using Comdiv.IO;
using Comdiv.Security;
using System.Linq;

namespace Comdiv.Dbfs{
    public interface IFileHistory:IEntityDataPattern{
        IFile Source { get; set; }
        int Revision { get; }
        string System { get; set; }
        string Mime { get; set; }
        string Extension { get; set; }
        string Hash { get; }
        long Size { get; }
        IFileContent Data { get; set; }
        bool IsDataLoaded { get; }
        IFile Target { get; set; }
        string Owner { get; set; }
        string Editor { get; set; }
        DateTime CreateTime { get; }
        DateTime ChangeTime { get; }
        string ReadList { get; set; }
        string ChangeList { get; set; }
        string AccessList { get; }
        string Tag { get; set; }
        bool Deleted { get; set; }
        bool Archived { get; set; }
        bool ReadOnly { get; set; }
        string Usr { get; set; }
        IList<IFileHistory> History { get; set; }
    }
}